home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork3.lzh
/
サンプル応用編
/
簡易ペイント
/
SPAINT.H
< prev
next >
Wrap
Text File
|
1994-03-10
|
3KB
|
92 lines
/******************************************************************************
* spaint.h: spaint.c用ヘッダファイル
******************************************************************************
* Workroom SX-68K Sample Program Copyright 1994 SHARP
*
* 定数定義
*/
/* ウィンドウタイトル */
#define WINTITLE ((_LASCII) "\x0c簡易ペイント")
/* ウィンドウサイズ */
#define WIN_H 600 /* ウィンドウの幅 */
#define WIN_V 300 /* ウィンドウの高さ */
#define MAX_RGN_CNT 100 /* リージョンの最大点数 */
/* イベントマスク */
#define EVENTMASK (EM_IDLE | EM_MSLDOWN | EM_MSLUP | EM_MSRDOWN | EM_UPDATE | EM_ACTIVATE | EM_SYSTEM1 | EM_SYSTEM2)
/*
* 構造体宣言
*/
typedef struct ComData {
int id; /* 図形の種類 */
struct ComData **next; /* 次のデータのハンドル */
Rect bounds; /* データを囲むレクタングル */
int color; /* 描画色 */
Point penSize; /* 描画ペンサイズ */
int drawMode; /* 枠(0)表示か塗りつぶし(1)表示か */
union {
Point radius; /* ラウンドレクタングルのときのみ有効 */
struct {
int cnt; /* リージョンの点数 */
Point point[100]; /* リージョンの座標情報 */
Region **hdl; /* リージョンハンドル */
} rgn;
} ext;
} ComData;
typedef struct ComVal { /* 共通変数 */
Window *windowPtr; /* ウィンドウポインタ */
BOOLEAN activeFlag; /* アクティブフラグ */
TsEvent event; /* イベントレコード */
int eventMask; /* イベントマスク */
int errorCode; /* エラーコード */
BOOLEAN endFlag; /* 終了フラグ */
int drawType; /* 現在の処理メニュー番号 */
int drawMode; /* 枠(0)表示か塗りつぶし(1)表示か */
int paletFC; /* 現在のフォアグラウンドカラー */
Point penSize; /* 現在のペンサイズ */
Point downPos; /* マウスレフトダウン時の入力点 */
Point upPos; /* マウスレフトアップ時の入力点 */
int animFlag; /* drawGraph処理フラグ */
Point radius; /* ラウンドレクタングルの直径 */
int rgnCnt; /* リージョンの座標入力点数 */
Point rgnPoint[100]; /* リージョンの座標格納場所 */
long clickTime; /* 最後に左ボタンが離された時間 */
BOOLEAN dispRbFlag; /* ラバーバンド表示フラグ */
Rect rbSize; /* ラバーバンド表示点 */
ComData **data; /* データ格納領域へのハンドル */
int dataCnt; /* 格納データの件数 */
} ComVal;
/*
* 関数プロトタイプ
*/
/* spmain.c */
BOOLEAN init(ComVal *);
BOOLEAN createWindow(ComVal *);
void idleEvent(ComVal *);
void msLDownEvent(ComVal *);
void msLUpEvent(ComVal *);
void msRDownEvent(ComVal *);
void selectMenu(ComVal *);
void keyDownEvent(ComVal *);
void updateEvent(ComVal *);
void drawGraph(ComVal *);
void activateEvent(ComVal *);
void systemEvent(ComVal *);
void showErrDialog(ComVal *);
void endProc(int, ComVal *);
BOOLEAN checkDClick(ComVal *);
/* spaint.c */
void setComData(ComVal *, ComData **);
void checkRectPos(Rect *);
void drawGraphRgn(ComVal *);
void makeRgn(ComVal *);
void drawAll(ComVal *);
void drawNext(ComData **);
void drawOne(ComData **);
void dispRubberBand(ComVal *, int);
void drawZukei(int, int, Rect *, LPoint);